perm filename DOC[DOC,TOB] blob sn#152474 filedate 1975-03-26 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00018 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00003 00002	EVALUATION OF PDP-11 /40 VS NOVA 820 JUMBO
C00005 00003	PERSONNEL AND PROJECTS
C00008 00004	WHAT WE ARE DOING
C00009 00005		VISION NOTE
C00011 00006		PROGRESS WITH MANIPULATION
C00018 00007		SPECIFICATIONS FOR VISUAL DEVICES
C00031 00008	SAIL
C00036 00009		The following hardware plans require technician help:
C00038 00010		COLOR PROBLEMS WITH VIDICON
C00042 00011		TV INPUT CHAIN
C00046 00012		VISION NOTES
C00050 00013		SOFTWARE NOTES
C00052 00014		TOUCH PAGE I
C00053 00015		TOUCH PAGE II
C00056 00016		TOUCH PAGE III
C00059 00017		TOUCH PAGE IV
C00064 00018		TOUCH PAGE V
C00066 ENDMK
C⊗;
EVALUATION OF PDP-11 /40 VS NOVA 820 JUMBO
COMPARE WITH MIT EVALUATION
	MACHINE CODE MORE DIFFICULT
		NO PUSHDOWN INSTR ON NOVA
		SHORT ADDRESS HACK
		SELF-RELOCATABLE(RELATIVE TO PC) ON BOTH
		NO PUSHJ OR POPJ ON NOVA-SUBROUTINES THROUGH FIXED REGISTER
		MOST INSTR ARE REGISTER-REGISTER; REQUIRES ANOTHER INSTR
	I/O EASIER ON PDP-11
		DIRECT TO MEMORY ON THE UNIBUS
	STANDARD MACHINE DESIRABLE
		PDP-11 IS A REASONABLE CHOICE. OTHERWISE, IF NO STANDARD
		THEN WHEN IBM GETS IN THERE WILL BE A DE-FACTO STANDARD
		TO SOME EXTENT THE MACHINE DETERMINES STYLE OF PROGRAMMING
		AND I THINK WE NEED SOME COMPUTER SCIENCE INPUT INTO THE
		STANDARDIZATION
	HARDWARE/SOFTWARE COMPATIBILITY (AT MIT-AI)
	
	OPTIONS		FLOATING POINT, PAGING

	CORE SIZE OF PROGRAMS
		WE WOULD EXPECT NOVA TO USE MORE CORE.  NICK AND
		PAT FOUND ABOUT EQUAL, IF ANYTHING, SMALLER FOR THE
		NOVA.  THAT DEPENDS ON TYPE OF PROGRAM I SUPPOSE.

	COST OF MACHINE AND PERIPHERALS
		FOR EQUIVALENT MACHINES, THE NOVA IS ABOUT 50% LESS
		THAN THE PDP-11.  FOR A JUMBO 820 WITH A DISK $14K
		AND FOR A PDP-11/40, ABOUT $20K.



PERSONNEL AND PROJECTS
T. O. BINFORD
	RANGING AND EYE HARDWARE STUDIES
	REPRESENTATION OF SHAPE
	MULTI-ENTRY CODING
	COLOR LINE FINDING
	MONOCULAR RECOGNITION OF SHAPE
	SHAPE FROM STEREO DATA

G. J. AGIN	STUDENT
	SHAPE DESCRIPTION AND RECOGNITION FROM DEPTH DATA
R. K. NEVATIA	STUDENT
	STEREO CORRELATION AND MOTION STEREO
	SHAPE DESCRIPTION AND RECOGNITION FROM DEPTH DATA
R. BAJCSYOVA	STUDENT
	TEXTURE BOUNDARIES AND TEXTURE DESCRIPTION IN FOURIER DOMAIN













J.A.FELDMAN
	SAIL AND HAND/EYE SYSTEM
	GRAMMATICAL INDUCTION
	BAYESIAN STRATEGIES

A. GILL		STUDENT
	VISUAL FEEDBACK
G. GRAPE	STUDENT
	GENERATION OF LINE DRAWINGS
S. GANAPATHY	STUDENT
	LEARNING OF NEW OBJECTS IN COMPLEX
Y. YAKIMOVSKY	STUDENT
	LINE VERIFIER AS BAYESIAN EXAMPLE



J. ZINGHEIM   STAFF, TECHNICIAN
K. K. PINGLE	STAFF,HAND/EYE SYSTEM
R. P. ORBAN	STAFF,HAND/EYE SYSTEM
LOU PAUL	STAFF,STUDENT
	ARM SOFTWARE
	AVOIDANCE
	FORCE-CONTROLLED MOTIONS
VIC SCHEINMAN	STAFF ENGINEER: ARM DESIGN AND HARDWARE




A. J. THOMAS	STUDENT
	PSYCHOLOGY, STEREO USING JULESZ PATTERNS

WHAT WE ARE DOING

FORCE SENSING AND FORCE-CONSTRAINED MOTIONS
TOOL OPERATION
	SCHEINMAN AND PAUL

SHAPE DESCRIPTION AND RECOGNITION OF COMPLEX OBJECTS
	AGIN, NEVATIA, TOB

VISUAL FEEDBACK
	GILL

STUDY OF VISUAL HARDWARE
	RANGING AND EYES	TOB

	VISION NOTE
IT IS USEFUL TO EXAMINE OPERATORS OF ALL SIZES IN A PICTURE.
THE SIZE OF THE OPERATOR MATTERS ONLY FOR FACTORS OF TWO,
SO THAT BY ALL SIZES, WE CAN AS WELL SAY SIZES WHICH ARE 
POWERS OF TWO.  K SHIFTS AND ADDITIONS ARE ENOUGH TO
SUM OVER AN INTERVAL 2↑K TO THE LEFT OF A POINT.  2K SHIFTS
AND ADDITIONS ARE ENOUGH TO SUM OVER A SQUARE 2↑K ON A SIDE.
MOREOVER, AS INTERMEDIATE STEPS, WE HAVE COMPUTED SUMS FOR
ALL SQUARES 2↑H ON A SIDE, WHERE 0<H<K.
	BY UPDATING SUMS, WE CAN SUM OVER AN INTERVAL BY
AN OPERATION WHICH IS INDEPENDENT OF THE SIZE OF THE
SUPPORT SIZE.  THE TIME FOR THIS OPERATION IS ABOUT
50 MICROSECONDS PER POINT.
	WE CAN DIFFERENCE OR MULTIPLY SHIFTED IMAGES TO 
DO VARIOUS CORRELATION OPERATIONS, WHICH CAN BE SUMMED
BY THAT SCHEME.

	PROGRESS WITH MANIPULATION
	THE NEW ARM BECAME OPERATIVE IN THE LAST FEW DAYS OF 
1970.  BY THAT TIME, A SERVO ROUTINE WAS WORKING WHICH USED
TRAJECTORY SERVO WITH A NEWTONIAN MODEL OF THE ARM.  INSTEAD
OF POINT BY POINT PROPORTIONAL SERVO, THIS CONTROL ROUTINE
FOLLOWS SMOOTH PREPLANNED TRAJECTORIES, TAKING INTO ACCOUNT
GRAVITY AND INERTIAL LOADING, EQUIVALENT TO VARYING SERVO
CONSTANTS THROUGH WIDE RANGES.
	A TRAJECTORY PLANNING PROGRAM DESIGNS TRAJECTORIES
WHICH ARE USEFUL FOR MANIPULATIONS, AND WHICH ALLOW SPECIFYING
APPROACH AND DEPARTURE ANGLES.  A USER PACKAGE
PLANS FOR HANDS

SOFTWARE			HARDWARE

USER PACKAGE
INSTANT INSANITY
NON-LINEAR CALIBATION
AVOIDANCE
TASKS WITH THREE OR MORE FINGERS
	PICK UP IRREGULAR OBJECTS
TASKS W/ FORCE FEEDBACK		JOINT FORCES
  PUT PIN IN HOLE		  MOTOR TORQUES
  TURN CRANK			  DIRECT SENSORS
TASKS W/TOUCH FEEDBACK		TOUCH SENSORS
  GROPING			  FINGERS
  SHAPE OF OBJECTS		  PERIPHERAL
  IRREGULAR OBJECTS
TASKS W/ VISUAL FEEDBACK
  STACKING
  COORDINATION FOR GRASPING
TASKS WITH VELOCITY CONTROL
  THROWING
				5 FINGER HAND
				WRIST WITH INCREMENTAL MOTION

THERE ARE A NUMBER OF PROBLEMS ASSOCIATED WITH THE INSTANT
INSANITY TASK OF TURNING OVER OBJECTS.  THE PRESENT SOLUTION
PROCEDURE CHOOSES THE FIRST POSSIBLE SOLUTION, LARGELY BECAUSE
OF TIME CONSTRAINTS.  THE RESULTING SOLUTIONS TEND TO SPRAWL
NEAR THE TABLE MORE THAN IS CONVENIENT FOR AVOIDANCE.  IT IS
CLEAR THAT FOR AVOIDANCE, WE WANT TO TEND TOWARD SOLUTIONS
WITH THE ARM OPERATING FROM ABOVE.  THE SIMPLEST FIX IS
TO CHOOSE THE SOLUTION WHICH CAUSES APPROACH AND DEPARTURE
ANGLES TO BE AS NEAR VERTICAL AS POSSIBLE.  FOR TURNING OVER
A CUBE, THIS MEANS APPROACHING AT -45 DEGREES AND DEPARTING
AT +45 DEGREES.  THOSE ANGLES ARE NOT ALWAYS POSSIBLE WITH
THE ARM IN CERTAIN POSITIONS.
IF WE TRIED ALL FOUR POSSIBILITIES FOR PICKING UP A BLOCK BY
ITS FACES, WE MIGHT FIND MUCH BETTER SOLUTIONS FROM THE
STANDPOINT OF VERTICALITY, YET WE CANNOT AFFORD 4 SEARCHES
THROUGH LIMITS OF APPROACH AND DEPARTURE ANGLE.  WE MIGHT INSTEAD
SUGGEST THAT FOR THAT TASK, WE ARE ESSENTIALLY ORIENTING THE
WRIST WITH RESPECT TO THE TABLE, AND FOR ORIENTING THE WRIST,
THE WRIST ROTATIONS ARE RELEVANT.  THEN WE WANT TO MOVE
THE BLOCK TO AN ANGLE WHERE THE ROTATIONS ARE EASY, AND MAKE
THE RIGHT WRIST ROTATIONS.  BEYOND THAT, WE CAN THINK OF
HAVING A MODEL OF THE ARM, AND PIECE TOGETHER TRAJECTORIES
FROM THE NATURAL MOTIONS OF THE ARM.  FOR THE TIME
WHEN WE GET REDUNDANT DEGREES OF FREEDOM, THAT WILL BE
MORE OR LESS NECESSARY.  WITH AN ARM WHICH HAS ONLY THE CANONICAL
SIX DEGREES OF FREEDOM, WE WOULD INVESTIGATE AN ARM MODEL
AS A WAY OF FINDING NOT ONLY THE FIRST SOLUTION, BUT SOME
GOOD SOLUTIONS AND PERMIT CUTTING COMPUTATION OF TRAJECTORIES
SOME LONG RANGE HAND/EYE PROGRAMS

	CURRENTLY, WE HAVE A GOOD PROGRAM IN MANIPULATORS.
WE HAVE A STABLE, LOW COST ARM WITH A USER SOFTWARE PACKAGE.
IN THE IMMEDIATE FUTURE, WE WILL BE DOING:
		AVOIDANCE OF OBJECTS
		TASKS REQUIRING JOINT FORCE SENSING
		TASKS REQUIRING TOUCH SENSING
FOR THE LONG RANGE, THERE ARE SEVERAL THINGS THAT WE WOULD
LIKE TO CONSIDER SERIOUSLY.  
	1  SELF PROTECTION REQUIRES THAT THE ARM STRUCTURE
	HAVE LOW JOINT STIFFNESS.  WITH A STIFF STRUCTURE,
	EVEN WITH TOUCH SENSING, THERE IS ONLY A FEW MILS
	TRAVEL IN WHICH TO STOP THE ARM BEFORE DAMAGE, SO 
	THAT PROTECTION IS IMPOSSIBLE.  WITH A COMPLIANT
	STRUCTURE, THERE MAY BE A HALF-INCH OR MORE OF
	TRAVEL AS THE STRUCTURE FOLDS, BEFORE DAMAGE. AS
	HANDS BECOME MORE COMPLICATED, THE RISK OF DAMAGE
	INCREASES.
	AT THE SAME TIME, JOINT FORCE SENSING BECOMES VERY
	EASY WITH COMPLIANT JOINTS.
		HOW TO MAKE LOW STIFFNESS ACTUATORS
		FOR ARMS

	2 TOUCH SENSORS ARE VERY POORLY DEVELOPED.  SENSITIVITY
	SPATIAL RESOLUTION, AREA COVERAGE FOR PERIPHERAL
	SENSORS AND MINITURIZATION OF ASSOCIATED ELECTRONICS
	AND MULTIPLEXORS ALL REQUIRE ABOUT AN ORDER OF MAGNITUDE
	IMPROVEMENT AS A FIRST TARGET.
	IMPROVED SENSORS WOULD ALSO BE VALUABLE FOR 
	PROSTHETIC DEVICES FOR AMPUTEES.

	WE SUGGEST THAT DR. KEN WISE IN DR. ANGELL'S LAB
	HAS INDICATED INTEREST IN THIS PROBLEM, AND
	THAT A RESEARCH EFFORT BE FUNDED THERE.
BY LARGE AMOUNTS.

	SPECIFICATIONS FOR VISUAL DEVICES

TYPICAL TASKS AND SAMPLE SYSTEMS
	All of our tasks are to access some area of the frame
and read a number of intensity values near that area.  We 
distinguish area scan, edge following, or tracking according
to the extremes of reading a large number of points near one
position, or reading a small number of points at separate
positions.  For reading n by m points, access times and sample 
times determine the task reading time by:
	read time=access time+( n * sample time + line access)*m lines
uUsing our PDP-10 computer, 10 microseconds is the minimal time
for minimal processing per point, and 100 microseconds is a 
nominal time for complicated processing per point.  Thus the 
sample time 100 usec to 10 usecs is adequate for our current 
usage, but will be obsolete as faster processors are available.
If we choose the access time to be 100 per cent of small sample
reading time, then assuming a sample of 30 points, access time
of 3msec to 300 usec is indicated for tracking.  That allows
tracking at intervals of about 5 msec.  Of course for area
scans, larger access times are tolerable.
	The other design criteria are signal to noise,
dynamic range, and spatial resolution over windows of the 
scene.  These criteria are related by a condition on memory
bandwidth.  Fixed scan systems seem inadequate; flexible scan
selection seems necessary for high resolution with reasonable
grey levels, according to the memory bandwidth of the system.
We now encode 7 samples of 4 bits each , in one microsecond,
over a frame 230*327.  We require more intensity information,
presumably 7 bits.  Since frame times are fixed, the highest
resolution determines the sample rate.  We can raise the
current bit rate by a factor of 3 perhaps, which allows less
than a factor of two increase in sampled points, or less than
40 percent increase in resolution.
	Simply raising bandwidth does not seem the answer to 
improving signal/noise for commercial TV cameras.  Noise is 
preamp bandwidth-limited.
	The specimen systems have hypothetical components
somewhat related to real devices but intended to provoke
specific discussion and alternative proposals.  We distinguish
between imaging sesors (eg vidicon) and imaging sources 
(eg laser spot).

1  Laser projection device with acousto-optical or digital 
deflection:  This system would use a 500*500 two-dimensional
deflection scheme.  Using an acoustic device deflecting by
Bragg diffraction, the access time of 100 microseconds
with 400 spots over 10 milliradians is feasible.  Use
of an acoustic lens (Crumley) could enhance resolution.
The system is essentially random-access.  Average reading
for 32/1 signal/noise would be 20 nanosec.

2  Laser projection with mechanical deflection:
A two-dimensional galvanometer mechanical deflection system with 
a random-access time of 1 msec and 1000*1000 resolution is
feasible.

3  Unkown low-noise scanning camera:
Assume an unknown low-noise scanning camera which has a windowing
facility, either a variable scan rate or a variable scan frame.
This encounters "burn-inY problems which can be minimized by
intermittent scanning, on demand.  Charge stabilization may
require initialization scans.

4  Semiconductor array in an image dissector or with
a deflectable image intensifier:
Linear arrays of photodetectors self-scanned by shift register
are currently available in units of 48.  Larger arrays are in
development; a linear array of a few hundred detectors can be made
by joining smaller arrays.  Using magnetic deflection, the
access times are about 10-100 usec and sample times are decrease
by integration of the array in parallel.

5  Semiconductor arrays with mechanical deflection:
Several hundred detectors in a small array, accessed with 
mechanical deflection with access times of 1 msec.  As in 
4) above, if the sample time for a single detector is 
of the order of .3 msec for the required signal to noise,
the effective sample time might be a factor of 20 less.
Bandwidth would be about a factor of 20 smaller than in the 
current vidicon system.

PROPERTY	CURRENT		TARGET A	TARGET B
gray levels	16 linear	128 log		512 log
dynamic range	
  within scene	16/1		64/1		400/1
  overall	10,000		10,000		1,000,000
signal/noise	1/1 to 32/1**	32/1 diI/I	64/1 dI/I
access time	30 msec		1 msec		10 usec
sample time	140 nsec	10-100 usec	1 usec
band width	28Megabits/sec	<56Megabits/sec	<56Megabits/sec
resolution	230*327		512*512		1000*1000
		300 lines 50%MTF
sensitivity
low light level	1 ft-c		as required by	as required by
				sample time,dynamic range,
				depth of field, signal/noise
depth of field	30 cm at 1m	30cm at 1m	30cm at 1m
color		3 color		3 color		3 color
		broad band	broad band	broad band
		3 filters 1sec			color camera
adaptation	autotarget	

*  
By subranging on successive frames, and averaging, 64 useful
levels can be obtained with the present camera over the entire
frame in 8sec.
** With a vidicon, noise is constant, independent of signal,
hence signal/noise is proportional to signal. The other figures
are quoted for signal/noise independent of signal.

Dynamic Range
	Overall scene illumination  may vary by factors of
order of 10↑6 to 1 for the cart, and by much smaller factors
for the hand-eye tasks.  Automatic target control, variable aperture
variable integration time (image dissector), variable light
source intensity are means of adaptation to overall scene illumination
levels.  Some means of overall adaptation must be provided; the
accomodation can be quite slow; humans do well with accomodation times
of minutes.  With humans, aperture control accounts for only a factor
of 10 in adaptation.
	Adaptation provides a wide dynamic range for a device
with lower intrinsic dynamic range.  The intrinsic dynamic range must include
the product of object reflectance and illumination ranges.  Object
reflectances vary from about 0.98 to 0.04 for carbon black, a factor
of about 20/1.  Non-uniform illumination can produce equally large dynamic
range factors; as an example, a point source illuminating an area
1 foot sq at 3 feet would have a factor of 2/1 for inverse square
radius and 30/1 for the cosine dependence.
Diffuse illumination could lower this dynamic range considerably, but 
specular reflections are hard to avoid.  To estimate
the effects of specular reflection, the effect is equivalent
to viewing the source directly over the folded path:
		specular	spec refl * (obj dist)↑2
		_______    =    _______________________
		matte		matte refl * (aperture)↑2

which might typically be of order 10↑4. Since the specular content
is more or less distinct from the other dynamic range contributions,
we need only crude information on intensities very far from the mean.
The human visual system provides this information by an S-shaped
response curve about the adaptation level.  Differential response
is greatest for intensities near the adaptation levle.
A device soon to be commercially available (Plumbicon with
anti-comet tail gun) has that response curve at high intensities.
	Intrinsic dynamic range of this device should be about 400/1, and
we might adopt 100/1 as an intermediate goal.
	When we define dynamic range, we should specify the
signal/noise ratio we want, over the whole dynamic range.
As mentioned above, this might be compromised at the extremes.
To discriminate other than black and white, we would want
about 16/1 signal/noise over the whole dynamic range.  This could
define an EFFECTIVE SIGNAL/NOISE.
	Note:  the new vidicon(1971) has a special feature
which sllows us to have large dynamic range within a scene.
The blanking has been moved to the grid as a special option
which allows us to modulate cathode voltage essentially 
point by point over the image, to allow LOCAL ADAPTATION of the 
vidicon.
SIGNAL TO NOISE


SAIL
	0  HAND/EYE MONITOR SHOULD HAVE ACCESS TO WHICH PREAMBLE
		WAS USED IN COMPILING EACH MODULE, AND SHOULD
		WARN OF INCOMPATIBILITY.
	1  ORDERED LISTS	(ITEMS OR SUBLISTS)
	2  ASSOCIATIONS ABLE TO BE ITEMS, 
		RETRIEVAL OF UNIQUE ASSOCIATIONS
	3  ALL THREE LEAP PAGES
	4  UNTYPED ITEMVARS
	5  MIXED MODE ARITHMETIC, ARRAYS AND VARIABLES
		ALLOWED TO HAVE FIXED AND FLOATING MODES
	6  CONDITIONAL ASSEMBLY
	7  INTERPRETER
	8  PRETTY PRINT    --- EXISTS
	9  DUMPS OF RUNNING PROGRAM
	10 OPTIMIZE A[I,J]←A[I,J]+1
	11 OVERLAYS
	12  DOUBLE PRECISION
	13 CHANGE FORM OF LEAP CALLS TO MAKE DEBUGGING POSSIBLE


FELDMAN FAVORS THESE CHANGES
	CO-ROUTINES
	PATTERN PROCEDURES (PLANNER-LIKE)
	GLOBAL CONTEXTS
	DYNAMIC TYPE CHECKING

KAY FAVORS THESE ADDITIONAL CHANGES
	DEFINED DATA TYPES	DCS SAYS ASSOCIATE FUNCTIONS WITH ITEMS
	VARIABLE NUMBER OF ARGS (REQUIRES ABILITY TO UNWIND STACK)
	SENSITIZE VARIABLES (AT COMPILE TIME, OR WITH ADDRESS REGISTER,
		OR WITH FLAG BITS)
	PASSING CONTEXT


RUSS TAYLOR PLANS TO BEGIN IN AUGUST WITH
	INTERRUPTS
		ANDY SUGGESTS USING PL1 ON STATEMENT AS FORMAT
		JACK CAUTIONS ABOUT DEFERRING INTERRUPTS IN SENSITIVE
		PLACES LIKE CORE OPERATIONS AND OTHER SYSTEM TIGHT PLACES.
		ALSO ABILITY TO PUSH 40 AND 41 AND RESTORE THEM.
		WOULD LIKE FULL POWER OF SAIL AT TOP LEVEL TO USE
		AT LOWER LEVEL.
	UNWINDING STACK (F REGISTER)


SWINEHART HAS THESE ADDITIONAL SUGGESTIONS
	BETTER MACROS AND STRING CONSTANTS
	VARIABLE NUMBER ARGS IN MACROS AND PROCEDURS
	DATUM OF ITEM CAN'T BE STRING
	MESSAGE PROCEDURES CAN'T GET VALUES BACK
	REFINEMENT TO MACHINE LANGUAGE



	MY PRIORITIES FAVOR THOSE CHANGES WHICH IMPROVE
THE FACILITY FOR INTERACTION AND DEBUGGING.  SAIL DOES
LITTLE TO USE THE ADVANTAGES OF TIME-SHARING; IT HAS NOT
GONE FAR FROM TRADITIONAL LANGUAGES IN DEBUGGING FACILITIES.
AN INTERPRETER AND THE ABILITY TO MAKE DUMPS AND RESUME
DURING EXECUTION (I/O PERMITTING) ARE FIRST STEPS.


BAD FEATURES OF SAIL WHICH CAN BE CHANGED WITHOUT SIGNIFICANT
STRUCTURAL CHANGES
	IMPROVED ERROR MESSAGES
	COMPLETE COMPILATION IN SPITE OF ERRORS  *****
	COMPILER SIZE AND SPEED

TENENBAUM SUGGESTS
	CHECK POINTS IN COMPILATION TO BACK UP
			(EVEN USER DESIGNATED)
	MAKE A*⊗B={SET}
	WAY OF INFORMING TRANSITIVE, REFLEXIVE RELATIONS(TRAMP, UNIV OF MICH)
	KNOWN BUGS
		S←(A⊗B)∪(C⊗D)

WHAT TASKS WOULD WE LIKE TO DO IN SAIL THAT ARE DIFFICULT
	REGION FOLLOWING: USING TOB SUCCESSOR, PREDECESSOR SCHEME
	WITH LISTS, REGION FOLLOWING IS A 1 PAGE LISP OR FAIL
	PROGRAM.  MOST CONVENIENT EXPRESSION IS IN TERMS OF 
	HASHED RELATIONS
		SUCCESSOR OF LINE A AT VERTEX B IS LINE C
		PREDECESSOR OF LINE A AT VERTEX B IS LINE D

THIS CAN BE DONE WITH FAIR EFFICIENCY NOW USING
	L1*V1=L2 FOR SUCCESSOR
	

	The following hardware plans require technician help:
		instrument new TV camera
		debug TV digitizer
		modify target voltage A/D to read actual voltage
		build new log difference digitizer (Fairbairn)
done?		debug multiplexer and A/D for arm
		touch sensors
		update kluge bay drawings
		current controller for arms
		build Quam arithmetic unit
		underflow mod to PDP-10
		new arm safety device
		second arm
		movie making
		new hand and wrist with incremental motion
			and independent fingers
		new 5 finger hand 
Estimate time required for these things:
		instrument TV  3weeks
		debug TV digitizer 1 week
		log difference digitizer 6 weeks
		debug multiplexer and A/D 2 weeks
		touch sensors 4 weeks
		update kluge bay drawings
		current controller for arm 4 weeks
		Quam arithmetic unit 16 weeks
		underflow mod    
		new arm safety device 2 days
		second arm 12 weeks

	COLOR PROBLEMS WITH VIDICON
	We are investigating the color response of the 
vidicon in order to compensate for a phenomenon which I call "shrinking
of the color triangle".  Basically, if we have a set of coordinates,
R, B,
 and G, we make a color triangle from any pair of the normalized coordinates
R/(R+B+
G) and B/(R+B+G) which make the triangle (0,0)
(1,0) and (0,1) which is filled by data points from saturated colors at
low target voltage.  At higher target voltage, the same color as seen through
the TV camera shrink toward the center of the color triangle, appearing
much less saturated and difficult to separate.  
	We have no answer to the apparent loss of saturation, except
to make the observations that vidicons make acceptable color devices
and thus we should be able to work with a vidicon.  Also, the monitor
shows large differences when flipping filters, even when target voltages
are high.  This also makes us guess that we should be able to get color
readings with adequate separation.  The simplest sort of scaling has 
already been included, however.  Any non-linear effect would be
enough to cause some shrinking (assuming it were in the direction of 
reducing high values) as the gamma effect in vidicons does.  The 
color recognition program does that correction for gamma, using a 
nominal value of gamma=.65.  It is possible that the gamma correction 
requires a drastically different gamma, or that gamma is a sharp 
function of target voltage.  We are investigating these and other
scaling effects in order to make adequate corrections.  If that fails,
we will try a plumbicon, which has adequate spectral response and
also has response independent of target voltage.  However, it is 
not possible to adapt the sensitivity of the plumbicon, and thus it is
much less versatile than the vidicon, which has adequate adaptability 
to handle many outdoor light problems, particularly with local adaptation
as we have attempted to use.


	TV INPUT CHAIN
	we are in the process of debugging the 
TV input chain, and now the A/D for the arm.  For the TV digitizer,
Joe Zingheim found that the oscillation of the high-order bit was due
to an inverter which was TTL instead of RTL as the rest of the chain.
Presumably that was because the TTL was much noisier than RTL.  There
was replaced with a pair of RTL to balance gate delays.  
	
	That showed up another fault of the A/D which gave considerable
low amplitude noise  with a period of 9.  That implicated the 167
word dumping, and after a little investigation, showed that power supplies
which were shared by the TV digitizer and the 167 were being loaded by
the 167 when it dumped a word, causing considerable noise for the digitizer.
We do not know yet whether there are ground loops which damage the A/D
or whether, as suspected by JMT, there is a natural oscillation built
into this design.  
	The latter requires some explanation.  The claim is that if we take
a power supply and slowly turn the voltage past some value, the switching 
of a comparator draws enough current to drop the voltage, turning off that
comparator, thus an oscillation.
	We are going ahead with a suggestion of Earnest, that of digitizing
with a log difference encoding.  
This would be a difference encoding, except that the steps are 
logarithmic.  
Thus, it takes many steps to make up a large difference in difference
encoding, while that would take many fewer steps with the log encoding..
Quam has simulated the log difference encoding on 6 bit log images
digitized on iiiIII readers. There is no difference to the eye between
the six bit log data and the four bit log difference data.
	Another A/D problem is with the 
A/D for the arm pots.  Lou Paul has found that 
there are 5Mc, 10Mc, and 50Mc noise components that are about
20mv and quuite distressing.  A long process of finding ground 
loops and power supply isolation problems is ahead.

	VISION NOTES
	I value  the fast 6 bit arithmetic processor which Quam talks about
as the most important single aid to vision.  Presently, we are able to 
estimate the time for processing three-color images at about three minutes
for a full TV image.  The processor is nearly finished.  In time-sharing,
we can count on only a fraction of the processor time, perhaps 10%, which
means that we must count on about 30 minutes per full TV image.  We
really want to do stereo, which doubles our estimated time to one hour 
per scene.  That is really too long to do anything real-time, interactive
or even to get many tries at debugging.  We must do something to make
our processing more effective.  
	iI don't see a great speedup in the techniques for detection,
although we continue to search for one.  We can gain a factor of about
10 on the estimated time of one hour for 3 color stereo if we have a 
dedicated PDP-6 or PDP-10 to work with.  

Super Foonly gives about
the same increase in speed, for which we guess about 6 minutes per
full scene, three color stereo with 10% service in time-sharing.
The proposed Quam box is guessed at about a factor of 50-100 faster
for useful operations of the sort that I do a lot of.
code.
	We have been contacted by a group in the Medical School 
who are studying non-destructive testing of the heart by use of
ultrasonic echo techniques.  Briefly, the transit time for echos
measures the depth of a discontinuity in the medium.  The ultrasound
transducers are outside the body, and echoes mark the various walls
of heart chambers.
	They are interested in recording the echoes and monitoring
them with a small computer, and then doing reconstruction and 
display on a larger computer.  They are interested in our facilities
and direction for an off-line interpretation and display of the
heart function.  
	They are looking for scar tissue and dead areas of the
heart wall, particularly on the interior wall of the left ventricle.
1.  Describe the volume inside the left ventrile and display it
(not in real time)
2.  Display wall thickness throughout the cardiac cycle
3.  Make a velocity display of small areas of the muscle
at various times throughout the cardiac cycle.

	We could supervise a student working on this problem
which involves three-dimensional modelling and display.

	SOFTWARE NOTES
	We should make an accurate evaluation of the hand/eye
monitor to evaluate what it does for us and what needs to be improved.

The primary goal of the system is to enable us to make modules
and run them without combining into one single job and without
providing overlays or swapping in that single job.  To get beyond the
the limitations of a single job, we have a system.  

	Suggestions for improvement of the system are centered around
making debugging possible.  These are both user conventions and system
capabilities.  
		1.  repeatibility-stored data
		There seem to be two important things here.  One is that
		users design their programs to be able to use stored data
		and that the system be able to use stored data.  The other
		requirement is that the system allow dumps of images in
		the process of execution, and that it be possible to 
		resume these dumped images (subject to obvious condition
		about open i/o files, changed real-time conditions, etc).

		2.  interaction
		SAIL is now a strictly compiled language, and as such
		allows no interaction, except through RAID, where the
		interface is 

	TOUCH PAGE I
	We discuss the intended development of touch sensors
for manipulation tasks of the hand/eye system.  For our
discussion, consider an artificial skin with force sensors
embedded in a deformable material, in an
array of about 10x10, with sensitivity to light
touch.  The issues we will discuss are:
		1)specifications
		2)feasibility with existing techniques
		3)incremental utility; what can we do with a 
		small amount of additional software along current lines
		of effort
		4)long range utility; what will we do toward complex tasks
		which will be greatly aided by touch sensing.


	TOUCH PAGE II
SPECIFICATIONS
	To be able to sense mis-alignments 
in assembly without disturbing structures, a sensitivity
at least as good (and hopefully 10 times better) as to 
sense a penny on a fingertip --1 gm per sq cm pressure
is a useful target.

	we require only crude proportionality and linearity,
and we can tolerate drift (or so it seems now) because
we can compensate for level shifts by modifying 
thresholds on a one second basis

	We can use the computer to do simple processing on the
direct output from each sensor, so that we can tolerate
considerable variation in response characteristics among
the sensors and their calibration.

	The sensors must be intrinsically self-protected
from large loads by some force-limiting mechanism or by an intrinsic
very high maximum force limit.  Self-protection is a problem that we
can deal with in only simple terms now, and there are obviously problems
with sharp objects cutting through a soft finger and severing individual
sensors or connections of several sensors.  For the moment, we guess 
that simple design considerations to protect large nerves, and easy 
replacement with low individual cost is a satisfactory solution.

	The sensors must be small, nominally smaller than 100 mil 
centers.  Sensor densities such as this allow good positional location
and description of objects.

	To manipulate complex objects, the fingers themselves should
be deformable to provide gripping surfaces in contact.  This implies
requirements on the sensors and their location.  If the sensors are
anchored on a firm substrate deep under the skin, the intervening
soft material will blurr force location considerably.
That will degrade sensitivity and positional resolution.  A reasonable
requirement is that the sensors be on the surface of the skin.

	TOUCH PAGE III
TECHNICAL FEASIBILITY
	We have discussed the development of sensors with
Dr. Ken Wise of Dr. Angell's laboratory .  Their laboratory
has developed for medical use a small pressure sensor for
catheter implant.  This sensor is a 60 mil diameter diaphragm
etched from a silicon wafer, with a bridge of etched 
piezoresistive elements to detect strains.  The bridge 
design gives good stability and sensitivity, partially 
compensating for temperature shifts.  These integrated circuit
devices are fabricated in their laboratory.
	We had originally discussed using a flat array of sensors,
with a somewhat simpler design  
than the diaphragms used for pressure sensing.  However,
it seems clear that what we really want are deformable fingers
with sensors in the surface, and we must come up with a different
design geometry.
	The integrated circuit technique seems to have adequate 
sensitivity (.5 mv for 1 gm/sq cm which we feel can be considerably
increased by larger currents.  Also we can detect with narrow band 
phase sensitive AC detection).  The elements are sufficiently small
and we hope replacement costs to be reasonable with integrated 
circuit fabrication.  
	We do not yet have a sensor which would function in the 
surface of skin.  Perhaps the pressure sensing diaphragms themselves
would be adequate.
	We have examined other techniques and find none with promise
of acceptability.  These include piezoelectric devices (with ac 
detection, these are interesting but difficult technology),
magnetostrictive devices (sensitivity is marginal and cost is high)
and semiconductor strain gauges.
	A useful design consideration for any of these techniques
is analog multiplexing, such as developed by Fairchild for their
self-scanning photodiode arrays.

	TOUCH PAGE IV
IMMEDIATE UTILITY
	In discussing utility, we could take an extreme stand and
say that touch sensors are unnecessary and that we could do a great 
deal with just visual feedback, as can be easily demonstrated with
prosthetic devices.  Vision has been difficult and we reasonably show
in the following discussion that interesting tasks will require only
simple use of touch sensing.  We could as well say that we could do 
many of the current tasks without vision.  Instead, we want to use 
each independent mode of information.  In some cases, only one mode
such as touch, will be capable of giving needed information, and 
in that sense will be necessary.  In the usual case, there will be
redundant information which will be useful for confirmation and 
discovering errors.
	To consider an immediately useful task, we want to use 
touch sensing for centering in grasping.  The ability to do so 
would lessen our need for absolute visual and arm calibration 
and increase reliability and adaptability.  The basic operations
are to sense touch on one side, use incremental motion to move 
to touch the other side while holding the first side steady.
Incremental motion already
exists on both arms; however, it would be much more useful with
our planned wrist with redundant degrees of freedom.
	Locating edges of objects requires existing techniques
for edge finding.
These are reasonably simple if high sensitivity is not needed 
and if the pattern on the finger is simple.  In general, processing
the pattern on the array of touch sensors raises difficult problems.
The task above required only asking am I touching anything?  
This task requires asking is there an obvious edge?
	Coordinating these two simple operations, yes/no and edge
detection, with incremental motion allows feeling along a surface
and feeling along an edge.  As mentioned above, incremental motion
already 
exists.  This might be called the one finger paradigm by which we
can tell whether a surface is flat or curved, or an edge is straight
or curved by moving along it.  
	The same techniques can be used in simple object description
by the two-finger paradigm.  For this, we use two fingers to get cross
section thickness along the length of an object.  This is very close 
to the representation for three-dimensional objects as used by 
Binford and Agin, and provides a considerable amount of descriptive 
information on shape, with obviously simple and well-defined
manipulations.
	The edge detection and incremental motion can be used for
aligning stacks of blocks.
	Some simple self-alignment tasks for reliability can be done
with simple touch sensing.  We would like very much to sense when we
touch the table, and to refer positions relative to temporarily
stationary objects.



	TOUCH PAGE V
LONG-RANGE UTILITY
	We have dealt with simple objects, blocks and wedges;
now we aim for complex objects with curved surfaces.  Shape
description by touch is a useful extension of our abilities
which would provide independent criticism of our visual judgment.
We have shown some simple shape description techniques which
would be useful with touch sensing.  Now we would like to
mention groping and exploration by touch.  At first, it 
seems conservative to class simple groping with long-range
developments, but groping requires sensors on the external
parts of the hand and, further, on the arm. An exploration 
sequence, such as a spiral motion with diversion around any found
object would be adequate for simple spatial sense and not difficult
to program. It is not clear that such simple procedures by 
themselves are adequate, but coupled with vision to be sure
that exploration is done for very simple environments, can be
useful.